﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    [global::Xtee.Core.Attributes.XmlTypeAttribute(Name="Menetlus", Namespace="http://producers.etoimik.xtee.riik.ee/producer/etoimik", Target=typeof(Menetlus))]
    public class MenetlusSerializer : global::Xtee.Core.Types.AbstractXteeSerializable {
        
        protected IMenetlus clazz;
        
        public MenetlusSerializer(IMenetlus clazz) {
            this.clazz = clazz;
        }
        
        public override void WriteXml(global::Xtee.Core.IXteeXmlWriter Writer) {
            base.WriteXml(Writer);
            if (clazz.ObjektID!=null) {
                Writer.WriteStartElement("ObjektID");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "long");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdLong(((long)(clazz.ObjektID))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.AsjaObjektID!=null) {
                Writer.WriteStartElement("AsjaObjektID");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "long");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdLong(((long)(clazz.AsjaObjektID))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.MenetluseNR!=null) {
                Writer.WriteStartElement("MenetluseNR");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.MenetluseNR))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.AsjaNR!=null) {
                Writer.WriteStartElement("AsjaNR");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.AsjaNR))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.Nimetus!=null) {
                Writer.WriteStartElement("Nimetus");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.Nimetus))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.AsjaLiikKL!=null) {
                Writer.WriteStartElement("AsjaLiikKL");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "long");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdLong(((long)(clazz.AsjaLiikKL))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.AsjaAlgusKP!=null) {
                Writer.WriteStartElement("AsjaAlgusKP");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "dateTime");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdDateTime(((System.DateTime)(clazz.AsjaAlgusKP))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.AsjaSeisundKL!=null) {
                Writer.WriteStartElement("AsjaSeisundKL");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "long");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdLong(((long)(clazz.AsjaSeisundKL))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.AsjaSeisundKP!=null) {
                Writer.WriteStartElement("AsjaSeisundKP");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "dateTime");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdDateTime(((System.DateTime)(clazz.AsjaSeisundKP))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.AsjaStaadiumKL!=null) {
                Writer.WriteStartElement("AsjaStaadiumKL");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "long");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdLong(((long)(clazz.AsjaStaadiumKL))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.AsjaStaadiumKP!=null) {
                Writer.WriteStartElement("AsjaStaadiumKP");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "dateTime");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdDateTime(((System.DateTime)(clazz.AsjaStaadiumKP))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.MenetlusLiikKL!=null) {
                Writer.WriteStartElement("MenetlusLiikKL");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "long");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdLong(((long)(clazz.MenetlusLiikKL))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.PuudutabAlaealisi!=null) {
                Writer.WriteStartElement("PuudutabAlaealisi");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "boolean");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdBoolean(((bool)(clazz.PuudutabAlaealisi))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.SeisundKL!=null) {
                Writer.WriteStartElement("SeisundKL");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "long");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdLong(((long)(clazz.SeisundKL))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.SeisundKP!=null) {
                Writer.WriteStartElement("SeisundKP");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "dateTime");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdDateTime(((System.DateTime)(clazz.SeisundKP))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.TyypKL!=null) {
                Writer.WriteStartElement("TyypKL");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "long");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdLong(((long)(clazz.TyypKL))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.SalastatuseTaseKL!=null) {
                Writer.WriteStartElement("SalastatuseTaseKL");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "long");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdLong(((long)(clazz.SalastatuseTaseKL))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.AsjaParitoluKL!=null) {
                Writer.WriteStartElement("AsjaParitoluKL");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "long");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdLong(((long)(clazz.AsjaParitoluKL))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.AsjaAlustamiseFaabula!=null) {
                Writer.WriteStartElement("AsjaAlustamiseFaabula");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.AsjaAlustamiseFaabula))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.AvaldamiseleMittekuuluvAsi!=null) {
                Writer.WriteStartElement("AvaldamiseleMittekuuluvAsi");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "boolean");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdBoolean(((bool)(clazz.AvaldamiseleMittekuuluvAsi))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.MenetlusLiigiAlaLiikKL!=null) {
                Writer.WriteStartElement("MenetlusLiigiAlaLiikKL");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "long");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdLong(((long)(clazz.MenetlusLiigiAlaLiikKL))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.AlgusKP!=null) {
                Writer.WriteStartElement("AlgusKP");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "dateTime");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdDateTime(((System.DateTime)(clazz.AlgusKP))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.Alustaja!=null) {
                Writer.WriteStartElement("Alustaja");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.Alustaja))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.LoppKP!=null) {
                Writer.WriteStartElement("LoppKP");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "dateTime");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdDateTime(((System.DateTime)(clazz.LoppKP))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.Asi!=null) {
                Writer.WriteStartElement("Asi");
                global::Xtee.Core.SerializationMetadata metaAsi = this.GetMetaData(clazz.Asi);
                Writer.WriteTypeAttribute(metaAsi.TypeQualifiedName.Namespace, metaAsi.TypeQualifiedName.Name);
                metaAsi.NewSerializer(clazz.Asi).WriteXml(Writer);
                Writer.WriteEndElement();
            }
            if (clazz.Kohtuasi!=null) {
                Writer.WriteStartElement("Kohtuasi");
                global::Xtee.Core.SerializationMetadata metaKohtuasi = this.GetMetaData(clazz.Kohtuasi);
                Writer.WriteTypeAttribute(metaKohtuasi.TypeQualifiedName.Namespace, metaKohtuasi.TypeQualifiedName.Name);
                metaKohtuasi.NewSerializer(clazz.Kohtuasi).WriteXml(Writer);
                Writer.WriteEndElement();
            }
            if (clazz.MenetlusPost!=null) {
                Writer.WriteStartElement("MenetlusPost");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("MenetlusPost", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.MenetlusPost.Count);
                for (int x = 0; ((clazz.MenetlusPost != null) 
                            && (x < clazz.MenetlusPost.Count)); x = (x + 1)) {
                    if (clazz.MenetlusPost[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaMenetlusPost = this.GetMetaData(clazz.MenetlusPost[x]);
                        Writer.WriteTypeAttribute(metaMenetlusPost.TypeQualifiedName.Namespace, metaMenetlusPost.TypeQualifiedName.Name);
                        metaMenetlusPost.NewSerializer(clazz.MenetlusPost[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.Objektid!=null) {
                Writer.WriteStartElement("Objektid");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("Objekt", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.Objektid.Count);
                for (int x = 0; ((clazz.Objektid != null) 
                            && (x < clazz.Objektid.Count)); x = (x + 1)) {
                    if (clazz.Objektid[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaObjektid = this.GetMetaData(clazz.Objektid[x]);
                        Writer.WriteTypeAttribute(metaObjektid.TypeQualifiedName.Namespace, metaObjektid.TypeQualifiedName.Name);
                        metaObjektid.NewSerializer(clazz.Objektid[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.Osalised!=null) {
                Writer.WriteStartElement("Osalised");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("Osaline", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.Osalised.Count);
                for (int x = 0; ((clazz.Osalised != null) 
                            && (x < clazz.Osalised.Count)); x = (x + 1)) {
                    if (clazz.Osalised[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaOsalised = this.GetMetaData(clazz.Osalised[x]);
                        Writer.WriteTypeAttribute(metaOsalised.TypeQualifiedName.Namespace, metaOsalised.TypeQualifiedName.Name);
                        metaOsalised.NewSerializer(clazz.Osalised[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.Toimingud!=null) {
                Writer.WriteStartElement("Toimingud");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("Toiming", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.Toimingud.Count);
                for (int x = 0; ((clazz.Toimingud != null) 
                            && (x < clazz.Toimingud.Count)); x = (x + 1)) {
                    if (clazz.Toimingud[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaToimingud = this.GetMetaData(clazz.Toimingud[x]);
                        Writer.WriteTypeAttribute(metaToimingud.TypeQualifiedName.Namespace, metaToimingud.TypeQualifiedName.Name);
                        metaToimingud.NewSerializer(clazz.Toimingud[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.Failid!=null) {
                Writer.WriteStartElement("Failid");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("Fail", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.Failid.Count);
                for (int x = 0; ((clazz.Failid != null) 
                            && (x < clazz.Failid.Count)); x = (x + 1)) {
                    if (clazz.Failid[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaFailid = this.GetMetaData(clazz.Failid[x]);
                        Writer.WriteTypeAttribute(metaFailid.TypeQualifiedName.Namespace, metaFailid.TypeQualifiedName.Name);
                        metaFailid.NewSerializer(clazz.Failid[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.Syyteosyndmused!=null) {
                Writer.WriteStartElement("Syyteosyndmused");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("Syyteosyndmus", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.Syyteosyndmused.Count);
                for (int x = 0; ((clazz.Syyteosyndmused != null) 
                            && (x < clazz.Syyteosyndmused.Count)); x = (x + 1)) {
                    if (clazz.Syyteosyndmused[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaSyyteosyndmused = this.GetMetaData(clazz.Syyteosyndmused[x]);
                        Writer.WriteTypeAttribute(metaSyyteosyndmused.TypeQualifiedName.Namespace, metaSyyteosyndmused.TypeQualifiedName.Name);
                        metaSyyteosyndmused.NewSerializer(clazz.Syyteosyndmused[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.SeotudMenetlused!=null) {
                Writer.WriteStartElement("SeotudMenetlused");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("SeotudMenetlus", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.SeotudMenetlused.Count);
                for (int x = 0; ((clazz.SeotudMenetlused != null) 
                            && (x < clazz.SeotudMenetlused.Count)); x = (x + 1)) {
                    if (clazz.SeotudMenetlused[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaSeotudMenetlused = this.GetMetaData(clazz.SeotudMenetlused[x]);
                        Writer.WriteTypeAttribute(metaSeotudMenetlused.TypeQualifiedName.Namespace, metaSeotudMenetlused.TypeQualifiedName.Name);
                        metaSeotudMenetlused.NewSerializer(clazz.SeotudMenetlused[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.MenetlevadAsutused!=null) {
                Writer.WriteStartElement("MenetlevadAsutused");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("JuriidilineIsik", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.MenetlevadAsutused.Count);
                for (int x = 0; ((clazz.MenetlevadAsutused != null) 
                            && (x < clazz.MenetlevadAsutused.Count)); x = (x + 1)) {
                    if (clazz.MenetlevadAsutused[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaMenetlevadAsutused = this.GetMetaData(clazz.MenetlevadAsutused[x]);
                        Writer.WriteTypeAttribute(metaMenetlevadAsutused.TypeQualifiedName.Namespace, metaMenetlevadAsutused.TypeQualifiedName.Name);
                        metaMenetlevadAsutused.NewSerializer(clazz.MenetlevadAsutused[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.Nouded!=null) {
                Writer.WriteStartElement("Nouded");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("Noue", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.Nouded.Count);
                for (int x = 0; ((clazz.Nouded != null) 
                            && (x < clazz.Nouded.Count)); x = (x + 1)) {
                    if (clazz.Nouded[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaNouded = this.GetMetaData(clazz.Nouded[x]);
                        Writer.WriteTypeAttribute(metaNouded.TypeQualifiedName.Namespace, metaNouded.TypeQualifiedName.Name);
                        metaNouded.NewSerializer(clazz.Nouded[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.Sanktsioonid!=null) {
                Writer.WriteStartElement("Sanktsioonid");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("Sanktsioon", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.Sanktsioonid.Count);
                for (int x = 0; ((clazz.Sanktsioonid != null) 
                            && (x < clazz.Sanktsioonid.Count)); x = (x + 1)) {
                    if (clazz.Sanktsioonid[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaSanktsioonid = this.GetMetaData(clazz.Sanktsioonid[x]);
                        Writer.WriteTypeAttribute(metaSanktsioonid.TypeQualifiedName.Namespace, metaSanktsioonid.TypeQualifiedName.Name);
                        metaSanktsioonid.NewSerializer(clazz.Sanktsioonid[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.SeotudAsjad!=null) {
                Writer.WriteStartElement("SeotudAsjad");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("SeotudMenetlus", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.SeotudAsjad.Count);
                for (int x = 0; ((clazz.SeotudAsjad != null) 
                            && (x < clazz.SeotudAsjad.Count)); x = (x + 1)) {
                    if (clazz.SeotudAsjad[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaSeotudAsjad = this.GetMetaData(clazz.SeotudAsjad[x]);
                        Writer.WriteTypeAttribute(metaSeotudAsjad.TypeQualifiedName.Namespace, metaSeotudAsjad.TypeQualifiedName.Name);
                        metaSeotudAsjad.NewSerializer(clazz.SeotudAsjad[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.MuudOsalised!=null) {
                Writer.WriteStartElement("MuudOsalised");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("Osaline", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.MuudOsalised.Count);
                for (int x = 0; ((clazz.MuudOsalised != null) 
                            && (x < clazz.MuudOsalised.Count)); x = (x + 1)) {
                    if (clazz.MuudOsalised[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaMuudOsalised = this.GetMetaData(clazz.MuudOsalised[x]);
                        Writer.WriteTypeAttribute(metaMuudOsalised.TypeQualifiedName.Namespace, metaMuudOsalised.TypeQualifiedName.Name);
                        metaMuudOsalised.NewSerializer(clazz.MuudOsalised[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.MenetluseSisulineLiigitus!=null) {
                Writer.WriteStartElement("MenetluseSisulineLiigitus");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("MenetluseSisulineLiigitus", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.MenetluseSisulineLiigitus.Count);
                for (int x = 0; ((clazz.MenetluseSisulineLiigitus != null) 
                            && (x < clazz.MenetluseSisulineLiigitus.Count)); x = (x + 1)) {
                    if (clazz.MenetluseSisulineLiigitus[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaMenetluseSisulineLiigitus = this.GetMetaData(clazz.MenetluseSisulineLiigitus[x]);
                        Writer.WriteTypeAttribute(metaMenetluseSisulineLiigitus.TypeQualifiedName.Namespace, metaMenetluseSisulineLiigitus.TypeQualifiedName.Name);
                        metaMenetluseSisulineLiigitus.NewSerializer(clazz.MenetluseSisulineLiigitus[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.Kulud!=null) {
                Writer.WriteStartElement("Kulud");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("Kulu", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.Kulud.Count);
                for (int x = 0; ((clazz.Kulud != null) 
                            && (x < clazz.Kulud.Count)); x = (x + 1)) {
                    if (clazz.Kulud[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaKulud = this.GetMetaData(clazz.Kulud[x]);
                        Writer.WriteTypeAttribute(metaKulud.TypeQualifiedName.Namespace, metaKulud.TypeQualifiedName.Name);
                        metaKulud.NewSerializer(clazz.Kulud[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.AsjaAlustamiseKvalifikatsioonCSV!=null) {
                Writer.WriteStartElement("AsjaAlustamiseKvalifikatsioonCSV");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.AsjaAlustamiseKvalifikatsioonCSV))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.MenetlevadAsutusedCSV!=null) {
                Writer.WriteStartElement("MenetlevadAsutusedCSV");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.MenetlevadAsutusedCSV))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.KlientsysteemiID!=null) {
                Writer.WriteStartElement("KlientsysteemiID");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.KlientsysteemiID))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.AsjaMenetlevRiikKL!=null) {
                Writer.WriteStartElement("AsjaMenetlevRiikKL");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "long");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdLong(((long)(clazz.AsjaMenetlevRiikKL))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.MenetlenudValisriigiAsutus!=null) {
                Writer.WriteStartElement("MenetlenudValisriigiAsutus");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.MenetlenudValisriigiAsutus))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.MenetlejaOnMaaramata!=null) {
                Writer.WriteStartElement("MenetlejaOnMaaramata");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "boolean");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdBoolean(((bool)(clazz.MenetlejaOnMaaramata))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.KaebusOnEsitatud!=null) {
                Writer.WriteStartElement("KaebusOnEsitatud");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "boolean");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdBoolean(((bool)(clazz.KaebusOnEsitatud))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.RegistreerimiseKP!=null) {
                Writer.WriteStartElement("RegistreerimiseKP");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "dateTime");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdDateTime(((System.DateTime)(clazz.RegistreerimiseKP))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.HagiTagamineEsialgneOiguskaitse!=null) {
                Writer.WriteStartElement("HagiTagamineEsialgneOiguskaitse");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "boolean");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdBoolean(((bool)(clazz.HagiTagamineEsialgneOiguskaitse))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.HagiHind!=null) {
                Writer.WriteStartElement("HagiHind");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "decimal");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdDecimal(((decimal)(clazz.HagiHind))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.Hoiatused!=null) {
                Writer.WriteStartElement("Hoiatused");
                Writer.WriteTypeAttribute("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                Writer.WriteArrayTypeAttribute("ETHoiatus", "http://producers.etoimik.xtee.riik.ee/producer/etoimik", clazz.Hoiatused.Count);
                for (int x = 0; ((clazz.Hoiatused != null) 
                            && (x < clazz.Hoiatused.Count)); x = (x + 1)) {
                    if (clazz.Hoiatused[x]!=null) {
                        Writer.WriteStartElement("item");
                        global::Xtee.Core.SerializationMetadata metaHoiatused = this.GetMetaData(clazz.Hoiatused[x]);
                        Writer.WriteTypeAttribute(metaHoiatused.TypeQualifiedName.Namespace, metaHoiatused.TypeQualifiedName.Name);
                        metaHoiatused.NewSerializer(clazz.Hoiatused[x]).WriteXml(Writer);
                        Writer.WriteEndElement();
                    }
                }
                Writer.WriteEndElement();
            }
            if (clazz.JrkNr!=null) {
                Writer.WriteStartElement("JrkNr");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "int");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdInt(((int)(clazz.JrkNr))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.MenetluseNrKoosJrkNr!=null) {
                Writer.WriteStartElement("MenetluseNrKoosJrkNr");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.MenetluseNrKoosJrkNr))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.MenetlemiseAlgusKP!=null) {
                Writer.WriteStartElement("MenetlemiseAlgusKP");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "dateTime");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdDateTime(((System.DateTime)(clazz.MenetlemiseAlgusKP))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.HagiHindValuutaKL!=null) {
                Writer.WriteStartElement("HagiHindValuutaKL");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "long");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdLong(((long)(clazz.HagiHindValuutaKL))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.KOLANr!=null) {
                Writer.WriteStartElement("KOLANr");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.KOLANr))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.Kontakt!=null) {
                Writer.WriteStartElement("Kontakt");
                global::Xtee.Core.SerializationMetadata metaKontakt = this.GetMetaData(clazz.Kontakt);
                Writer.WriteTypeAttribute(metaKontakt.TypeQualifiedName.Namespace, metaKontakt.TypeQualifiedName.Name);
                metaKontakt.NewSerializer(clazz.Kontakt).WriteXml(Writer);
                Writer.WriteEndElement();
            }
            if (clazz.LahendiTeatavakstegemiseAegKP!=null) {
                Writer.WriteStartElement("LahendiTeatavakstegemiseAegKP");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "dateTime");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdDateTime(((System.DateTime)(clazz.LahendiTeatavakstegemiseAegKP))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.AvalikNimetus!=null) {
                Writer.WriteStartElement("AvalikNimetus");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.AvalikNimetus))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.MuuJuurdepaasupiirang!=null) {
                Writer.WriteStartElement("MuuJuurdepaasupiirang");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "boolean");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdBoolean(((bool)(clazz.MuuJuurdepaasupiirang))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.MuuJuurdepaasupiiranguPohjendus!=null) {
                Writer.WriteStartElement("MuuJuurdepaasupiiranguPohjendus");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.MuuJuurdepaasupiiranguPohjendus))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.OigusabiMenetlusabiSaamine!=null) {
                Writer.WriteStartElement("OigusabiMenetlusabiSaamine");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "boolean");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdBoolean(((bool)(clazz.OigusabiMenetlusabiSaamine))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.VastutavadMenetlejadCSV!=null) {
                Writer.WriteStartElement("VastutavadMenetlejadCSV");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.VastutavadMenetlejadCSV))).ToString());
                Writer.WriteEndElement();
            }
        }
        
        public override void ReadXml(global::Xtee.Core.IXteeXmlReader Reader) {
            base.ReadXml(Reader);
            if (Reader.LocalName=="ObjektID") {
                if (Reader.IsElementNil()) {
                    throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>Menetlus>ObjektID");
                }
                clazz.ObjektID = new global::Xtee.Core.Schema.XsdLong(Reader.ReadElementString("ObjektID")).Value;
            }
            if (Reader.LocalName=="AsjaObjektID") {
                if (Reader.IsElementNil()) {
                    throw new global::Xtee.Core.Exceptions.NillableNotAllowedException(">>Menetlus>AsjaObjektID");
                }
                clazz.AsjaObjektID = new global::Xtee.Core.Schema.XsdLong(Reader.ReadElementString("AsjaObjektID")).Value;
            }
            if (Reader.LocalName=="MenetluseNR") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MenetluseNR = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("MenetluseNR")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="AsjaNR") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.AsjaNR = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("AsjaNR")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="Nimetus") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.Nimetus = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("Nimetus")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="AsjaLiikKL") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.AsjaLiikKL = new global::Xtee.Core.Schema.XsdLong(Reader.ReadElementString("AsjaLiikKL")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="AsjaAlgusKP") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.AsjaAlgusKP = new global::Xtee.Core.Schema.XsdDateTime(Reader.ReadElementString("AsjaAlgusKP")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="AsjaSeisundKL") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.AsjaSeisundKL = new global::Xtee.Core.Schema.XsdLong(Reader.ReadElementString("AsjaSeisundKL")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="AsjaSeisundKP") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.AsjaSeisundKP = new global::Xtee.Core.Schema.XsdDateTime(Reader.ReadElementString("AsjaSeisundKP")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="AsjaStaadiumKL") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.AsjaStaadiumKL = new global::Xtee.Core.Schema.XsdLong(Reader.ReadElementString("AsjaStaadiumKL")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="AsjaStaadiumKP") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.AsjaStaadiumKP = new global::Xtee.Core.Schema.XsdDateTime(Reader.ReadElementString("AsjaStaadiumKP")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MenetlusLiikKL") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MenetlusLiikKL = new global::Xtee.Core.Schema.XsdLong(Reader.ReadElementString("MenetlusLiikKL")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="PuudutabAlaealisi") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.PuudutabAlaealisi = new global::Xtee.Core.Schema.XsdBoolean(Reader.ReadElementString("PuudutabAlaealisi")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="SeisundKL") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.SeisundKL = new global::Xtee.Core.Schema.XsdLong(Reader.ReadElementString("SeisundKL")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="SeisundKP") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.SeisundKP = new global::Xtee.Core.Schema.XsdDateTime(Reader.ReadElementString("SeisundKP")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="TyypKL") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.TyypKL = new global::Xtee.Core.Schema.XsdLong(Reader.ReadElementString("TyypKL")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="SalastatuseTaseKL") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.SalastatuseTaseKL = new global::Xtee.Core.Schema.XsdLong(Reader.ReadElementString("SalastatuseTaseKL")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="AsjaParitoluKL") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.AsjaParitoluKL = new global::Xtee.Core.Schema.XsdLong(Reader.ReadElementString("AsjaParitoluKL")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="AsjaAlustamiseFaabula") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.AsjaAlustamiseFaabula = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("AsjaAlustamiseFaabula")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="AvaldamiseleMittekuuluvAsi") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.AvaldamiseleMittekuuluvAsi = new global::Xtee.Core.Schema.XsdBoolean(Reader.ReadElementString("AvaldamiseleMittekuuluvAsi")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MenetlusLiigiAlaLiikKL") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MenetlusLiigiAlaLiikKL = new global::Xtee.Core.Schema.XsdLong(Reader.ReadElementString("MenetlusLiigiAlaLiikKL")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="AlgusKP") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.AlgusKP = new global::Xtee.Core.Schema.XsdDateTime(Reader.ReadElementString("AlgusKP")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="Alustaja") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.Alustaja = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("Alustaja")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="LoppKP") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.LoppKP = new global::Xtee.Core.Schema.XsdDateTime(Reader.ReadElementString("LoppKP")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="Asi") {
                if ((Reader.IsElementNil() == false)) {
                    global::Xtee.Core.SerializationMetadata metaAsi = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IAsi>(Reader, "Asi", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                    clazz.Asi = metaAsi.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IAsi>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("Asi");
                        metaAsi.NewSerializer(clazz.Asi).ReadXml(Reader);
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="Kohtuasi") {
                if ((Reader.IsElementNil() == false)) {
                    global::Xtee.Core.SerializationMetadata metaKohtuasi = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKohtuasi>(Reader, "Kohtuasi", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                    clazz.Kohtuasi = metaKohtuasi.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKohtuasi>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("Kohtuasi");
                        metaKohtuasi.NewSerializer(clazz.Kohtuasi).ReadXml(Reader);
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MenetlusPost") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MenetlusPost = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMenetlusPost>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("MenetlusPost");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaMenetlusPost = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMenetlusPost>(Reader, "MenetlusPost", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMenetlusPost item = metaMenetlusPost.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMenetlusPost>();
                                clazz.MenetlusPost.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaMenetlusPost.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.MenetlusPost.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="Objektid") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.Objektid = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IObjekt>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("Objektid");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaObjektid = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IObjekt>(Reader, "Objekt", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IObjekt item = metaObjektid.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IObjekt>();
                                clazz.Objektid.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaObjektid.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.Objektid.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="Osalised") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.Osalised = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaline>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("Osalised");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaOsalised = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaline>(Reader, "Osaline", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaline item = metaOsalised.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaline>();
                                clazz.Osalised.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaOsalised.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.Osalised.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="Toimingud") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.Toimingud = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IToiming>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("Toimingud");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaToimingud = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IToiming>(Reader, "Toiming", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IToiming item = metaToimingud.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IToiming>();
                                clazz.Toimingud.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaToimingud.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.Toimingud.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="Failid") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.Failid = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IFail>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("Failid");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaFailid = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IFail>(Reader, "Fail", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IFail item = metaFailid.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IFail>();
                                clazz.Failid.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaFailid.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.Failid.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="Syyteosyndmused") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.Syyteosyndmused = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISyyteosyndmus>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("Syyteosyndmused");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaSyyteosyndmused = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISyyteosyndmus>(Reader, "Syyteosyndmus", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISyyteosyndmus item = metaSyyteosyndmused.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISyyteosyndmus>();
                                clazz.Syyteosyndmused.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaSyyteosyndmused.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.Syyteosyndmused.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="SeotudMenetlused") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.SeotudMenetlused = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISeotudMenetlus>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("SeotudMenetlused");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaSeotudMenetlused = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISeotudMenetlus>(Reader, "SeotudMenetlus", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISeotudMenetlus item = metaSeotudMenetlused.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISeotudMenetlus>();
                                clazz.SeotudMenetlused.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaSeotudMenetlused.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.SeotudMenetlused.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MenetlevadAsutused") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MenetlevadAsutused = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsik>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("MenetlevadAsutused");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaMenetlevadAsutused = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsik>(Reader, "JuriidilineIsik", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsik item = metaMenetlevadAsutused.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsik>();
                                clazz.MenetlevadAsutused.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaMenetlevadAsutused.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.MenetlevadAsutused.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="Nouded") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.Nouded = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("Nouded");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaNouded = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue>(Reader, "Noue", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue item = metaNouded.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.INoue>();
                                clazz.Nouded.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaNouded.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.Nouded.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="Sanktsioonid") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.Sanktsioonid = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISanktsioon>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("Sanktsioonid");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaSanktsioonid = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISanktsioon>(Reader, "Sanktsioon", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISanktsioon item = metaSanktsioonid.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISanktsioon>();
                                clazz.Sanktsioonid.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaSanktsioonid.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.Sanktsioonid.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="SeotudAsjad") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.SeotudAsjad = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISeotudMenetlus>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("SeotudAsjad");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaSeotudAsjad = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISeotudMenetlus>(Reader, "SeotudMenetlus", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISeotudMenetlus item = metaSeotudAsjad.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.ISeotudMenetlus>();
                                clazz.SeotudAsjad.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaSeotudAsjad.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.SeotudAsjad.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MuudOsalised") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MuudOsalised = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaline>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("MuudOsalised");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaMuudOsalised = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaline>(Reader, "Osaline", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaline item = metaMuudOsalised.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaline>();
                                clazz.MuudOsalised.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaMuudOsalised.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.MuudOsalised.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MenetluseSisulineLiigitus") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MenetluseSisulineLiigitus = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMenetluseSisulineLiigitus>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("MenetluseSisulineLiigitus");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaMenetluseSisulineLiigitus = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMenetluseSisulineLiigitus>(Reader, "MenetluseSisulineLiigitus", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMenetluseSisulineLiigitus item = metaMenetluseSisulineLiigitus.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMenetluseSisulineLiigitus>();
                                clazz.MenetluseSisulineLiigitus.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaMenetluseSisulineLiigitus.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.MenetluseSisulineLiigitus.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="Kulud") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.Kulud = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKulu>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("Kulud");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaKulud = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKulu>(Reader, "Kulu", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKulu item = metaKulud.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKulu>();
                                clazz.Kulud.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaKulud.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.Kulud.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="AsjaAlustamiseKvalifikatsioonCSV") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.AsjaAlustamiseKvalifikatsioonCSV = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("AsjaAlustamiseKvalifikatsioonCSV")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MenetlevadAsutusedCSV") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MenetlevadAsutusedCSV = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("MenetlevadAsutusedCSV")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="KlientsysteemiID") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.KlientsysteemiID = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("KlientsysteemiID")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="AsjaMenetlevRiikKL") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.AsjaMenetlevRiikKL = new global::Xtee.Core.Schema.XsdLong(Reader.ReadElementString("AsjaMenetlevRiikKL")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MenetlenudValisriigiAsutus") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MenetlenudValisriigiAsutus = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("MenetlenudValisriigiAsutus")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MenetlejaOnMaaramata") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MenetlejaOnMaaramata = new global::Xtee.Core.Schema.XsdBoolean(Reader.ReadElementString("MenetlejaOnMaaramata")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="KaebusOnEsitatud") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.KaebusOnEsitatud = new global::Xtee.Core.Schema.XsdBoolean(Reader.ReadElementString("KaebusOnEsitatud")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="RegistreerimiseKP") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.RegistreerimiseKP = new global::Xtee.Core.Schema.XsdDateTime(Reader.ReadElementString("RegistreerimiseKP")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="HagiTagamineEsialgneOiguskaitse") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.HagiTagamineEsialgneOiguskaitse = new global::Xtee.Core.Schema.XsdBoolean(Reader.ReadElementString("HagiTagamineEsialgneOiguskaitse")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="HagiHind") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.HagiHind = new global::Xtee.Core.Schema.XsdDecimal(Reader.ReadElementString("HagiHind")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="Hoiatused") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.Hoiatused = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IETHoiatus>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("Hoiatused");
                        for (; ((Reader.NodeType != System.Xml.XmlNodeType.EndElement) 
                                    && (Reader.LocalName == "item")); ) {
                            if ((Reader.IsElementNil() == false)) {
                                global::Xtee.Core.SerializationMetadata metaHoiatused = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IETHoiatus>(Reader, "ETHoiatus", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                                global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IETHoiatus item = metaHoiatused.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IETHoiatus>();
                                clazz.Hoiatused.Add(item);
                                if ((Reader.IsEmptyElement == false)) {
                                    Reader.ReadStartElement("item");
                                    metaHoiatused.NewSerializer(item).ReadXml(Reader);
                                    Reader.ReadEndElement();
                                }
                                else {
                                    Reader.Skip();
                                }
                            }
                            else {
                                clazz.Hoiatused.Add(null);
                                Reader.Skip();
                            }
                        }
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="JrkNr") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.JrkNr = new global::Xtee.Core.Schema.XsdInt(Reader.ReadElementString("JrkNr")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MenetluseNrKoosJrkNr") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MenetluseNrKoosJrkNr = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("MenetluseNrKoosJrkNr")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MenetlemiseAlgusKP") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MenetlemiseAlgusKP = new global::Xtee.Core.Schema.XsdDateTime(Reader.ReadElementString("MenetlemiseAlgusKP")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="HagiHindValuutaKL") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.HagiHindValuutaKL = new global::Xtee.Core.Schema.XsdLong(Reader.ReadElementString("HagiHindValuutaKL")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="KOLANr") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.KOLANr = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("KOLANr")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="Kontakt") {
                if ((Reader.IsElementNil() == false)) {
                    global::Xtee.Core.SerializationMetadata metaKontakt = this.GetMetaData<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMenetluseKontakt>(Reader, "MenetluseKontakt", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
                    clazz.Kontakt = metaKontakt.NewEntity<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IMenetluseKontakt>();
                    if ((Reader.IsEmptyElement == false)) {
                        Reader.ReadStartElement("Kontakt");
                        metaKontakt.NewSerializer(clazz.Kontakt).ReadXml(Reader);
                        Reader.ReadEndElement();
                    }
                    else {
                        Reader.Skip();
                    }
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="LahendiTeatavakstegemiseAegKP") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.LahendiTeatavakstegemiseAegKP = new global::Xtee.Core.Schema.XsdDateTime(Reader.ReadElementString("LahendiTeatavakstegemiseAegKP")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="AvalikNimetus") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.AvalikNimetus = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("AvalikNimetus")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MuuJuurdepaasupiirang") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MuuJuurdepaasupiirang = new global::Xtee.Core.Schema.XsdBoolean(Reader.ReadElementString("MuuJuurdepaasupiirang")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MuuJuurdepaasupiiranguPohjendus") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MuuJuurdepaasupiiranguPohjendus = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("MuuJuurdepaasupiiranguPohjendus")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="OigusabiMenetlusabiSaamine") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.OigusabiMenetlusabiSaamine = new global::Xtee.Core.Schema.XsdBoolean(Reader.ReadElementString("OigusabiMenetlusabiSaamine")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="VastutavadMenetlejadCSV") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.VastutavadMenetlejadCSV = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("VastutavadMenetlejadCSV")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
        }
    }
}
